package com.niiwoo.activity.stage.service.mall;

import com.niiwoo.activity.stage.dto.request.mall.*;
import com.niiwoo.activity.stage.dto.response.mall.MallGoodsAdminRespDTO;
import com.niiwoo.activity.stage.dto.response.mall.MallGoodsCountRespDTO;
import com.niiwoo.activity.stage.dto.response.mall.MallGoodsRespDTO;
import com.niiwoo.activity.stage.dto.response.mall.MallIndexRespDTO;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

/**
 * 商城商品
 *
 */
public interface MallGoodsDubboService {
	
	/**
	 * 商城商品列表
	 * @param reqDto
	 * @return 
	 */
	public PageResponseDTO<MallGoodsRespDTO> mallGoodsList(AppMallGoodsListReqDTO reqDto);
//	/**
//	 *商城商品筛选统计数量
//	 */
//	public MallGoodsCountRespDTO mallGoodsCount(AppMallGoodsListReqDTO dto);
	/**
	 *商城商品筛选统计数量
	 */
	public MallGoodsCountRespDTO mallGoodsCountNew(AppMallGoodsListReqDTO dto);

	/**
	 * 管理后台分页查询商品列表
	 * @param reqDto
	 * @return
	 */
	public PageResponseDTO<MallGoodsAdminRespDTO> mallGoodsListForAdmin(AdminMallGoodsListReqDTO reqDto);

	public int deleteGoods(MallGoodsIdReqDTO dto);

	public void saveGoods(MallGoodsSaveReqDTO dto);

	public void deleteGoodsImg(MallGoodsDelImgReqDTO dto);

	public void shelfGoods(MallGoodsShelfReqDTO dto);

	public void unShelfGoods(MallGoodsIdReqDTO dto);

	public MallGoodsRespDTO selectGoodsDetail(MallGoodsIdReqDTO dto);

	/**
	 * 商城商品首页
	 */
	public MallIndexRespDTO getMallIndexData(String userId);
	/**
	 * 为你推荐列表
	 * @return
	 */
	public PageResponseDTO<MallGoodsRespDTO> recommendList();

	/**
	 * 自动上下架
	 */
	public void  autoShelfAndUnshelf();
}
